<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        // 建议 将 循环内部的 变量 都 放到 循环外部去~~！
        // 变量 声明 最好 放在 循环外面 -- 因为 放在 循环内部 容易产生 同名变量的问题 -- 给大家推荐 使用 循环外部变量 的说法~~~
        // 作用域： let 变量 会 让所在的 大扩招 产生 作用域,每次循环，会产生一个 新的作用域，所以 每次循环 相当于 生成了 新的 作用域

        // 要求：一直根据用户选择，进行 加减乘除 运算，直到用户选择退出。
        // 思路：
        //    1.询问用户选择
        //    2.获取 用户的 两个 数字
        //    3.根据选择 做 不同的 运算 ，得到 运算结果
        //    4.打印运算结果
        // 使用do while 循环 完成 计算器工作

        do {
            let usrOpt = +prompt('换一个使用计算器：\n1.加法\n2.减法\n3.乘法\n4.除法\n5.【退出】\n请输入您的选项：');
            // 如果用户选择 退出，则 直接停止循环
            if (usrOpt == 5) {
                alert('谢谢你使用 循环计算器~~~爱你哦~~~byebye~~~');
                break;
            }
            let num1 = +prompt('请输入第1个数字：');
            let num2 = +prompt('请输入第2个数字：');

            let res; // 保存运算结果
            let optStr; // 保存运算符号
            switch (usrOpt) {
                case 1: {
                    res = num1 + num2;
                    optStr = '+';
                    break;
                }
                case 2: {
                    res = num1 - num2;
                    optStr = '-';
                    break;
                }
                case 3: {
                    res = num1 * num2;
                    optStr = '*';
                    break;
                }
                case 4: {
                    res = num1 / num2;
                    optStr = '/';
                    break;
                }
            }
            alert('运算结果：' + num1 + ' ' + optStr + ' ' + num2 + ' = ' + res);
        } while (true);
    </script>
</head>

<body>

</body>

</html>